(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(x, y), z) → +(x, +(y, z))
+(p1, +(p1, x)) → +(p2, x)
+(p1, +(p2, +(p2, x))) → +(p5, x)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, x)) → +(p1, +(p2, x))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, x))) → +(p1, +(p5, x))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, x)) → +(p1, +(p5, x))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, x)) → +(p2, +(p5, x))
+(p5, +(p5, x)) → +(p10, x)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, x)) → +(p1, +(p10, x))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, x)) → +(p2, +(p10, x))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, x)) → +(p5, +(p10, x))

Rewrite Strategy: INNERMOST

(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)

Converted CpxTRS to CDT

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, p1) → c6(+'(p1, p2))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p2, +(p2, p2)) → c8(+'(p1, p5))
+'(p2, +(p2, +(p2, z0))) → c9(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, p1) → c10(+'(p1, p5))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, p2) → c12(+'(p2, p5))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, p1) → c15(+'(p1, p10))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, p2) → c17(+'(p2, p10))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, p5) → c19(+'(p5, p10))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
S tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, p1) → c6(+'(p1, p2))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p2, +(p2, p2)) → c8(+'(p1, p5))
+'(p2, +(p2, +(p2, z0))) → c9(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, p1) → c10(+'(p1, p5))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, p2) → c12(+'(p2, p5))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, p1) → c15(+'(p1, p10))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, p2) → c17(+'(p2, p10))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, p5) → c19(+'(p5, p10))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
K tuples:none
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20

(3) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 7 trailing nodes:

+'(p10, p5) → c19(+'(p5, p10))
+'(p2, +(p2, p2)) → c8(+'(p1, p5))
+'(p10, p2) → c17(+'(p2, p10))
+'(p5, p1) → c10(+'(p1, p5))
+'(p2, p1) → c6(+'(p1, p2))
+'(p10, p1) → c15(+'(p1, p10))
+'(p5, p2) → c12(+'(p2, p5))

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p2, +(p2, +(p2, z0))) → c9(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
S tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p2, +(p2, +(p2, z0))) → c9(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
K tuples:none
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c9, c11, c13, c14, c16, c18, c20

(5) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
We considered the (Usable) Rules:

+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p5) → p10
+(p5, +(p5, z0)) → +(p10, z0)
+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
And the Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p2, +(p2, +(p2, z0))) → c9(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(+(x1, x2)) = [2] + [2]x1 + x2   
POL(+'(x1, x2)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c13(x1, x2)) = x1 + x2   
POL(c14(x1)) = x1   
POL(c16(x1, x2)) = x1 + x2   
POL(c18(x1, x2)) = x1 + x2   
POL(c20(x1, x2)) = x1 + x2   
POL(c3(x1, x2)) = x1 + x2   
POL(c4(x1)) = x1   
POL(c5(x1)) = x1   
POL(c7(x1, x2)) = x1 + x2   
POL(c9(x1, x2)) = x1 + x2   
POL(p1) = 0   
POL(p10) = 0   
POL(p2) = 0   
POL(p5) = 0   

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p2, +(p2, +(p2, z0))) → c9(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p2, +(p2, +(p2, z0))) → c9(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c9, c11, c13, c14, c16, c18, c20

(7) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace +'(p2, +(p2, +(p2, z0))) → c9(+'(p1, +(p5, z0)), +'(p5, z0)) by

+'(p2, +(p2, +(p2, p5))) → c9(+'(p1, p10), +'(p5, p5))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, p5))) → c9(+'(p1, p10), +'(p5, p5))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, p5))) → c9(+'(p1, p10), +'(p5, p5))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c11, c13, c14, c16, c18, c20, c9, c9

(9) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

+'(p2, +(p2, +(p2, p5))) → c9(+'(p1, p10), +'(p5, p5))

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c11, c13, c14, c16, c18, c20, c9, c9

(11) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace +'(p5, +(p1, z0)) → c11(+'(p1, +(p5, z0)), +'(p5, z0)) by

+'(p5, +(p1, p5)) → c11(+'(p1, p10), +'(p5, p5))
+'(p5, +(p1, p2)) → c11(+'(p1, +(p2, p5)), +'(p5, p2))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, p5)) → c11(+'(p1, p10), +'(p5, p5))
+'(p5, +(p1, p2)) → c11(+'(p1, +(p2, p5)), +'(p5, p2))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, p5)) → c11(+'(p1, p10), +'(p5, p5))
+'(p5, +(p1, p2)) → c11(+'(p1, +(p2, p5)), +'(p5, p2))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c13, c14, c16, c18, c20, c9, c9, c11, c11

(13) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing nodes:

+'(p5, +(p1, p5)) → c11(+'(p1, p10), +'(p5, p5))
+'(p5, +(p1, p2)) → c11(+'(p1, +(p2, p5)), +'(p5, p2))

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c13, c14, c16, c18, c20, c9, c9, c11, c11

(15) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace +'(p5, +(p2, z0)) → c13(+'(p2, +(p5, z0)), +'(p5, z0)) by

+'(p5, +(p2, p5)) → c13(+'(p2, p10), +'(p5, p5))
+'(p5, +(p2, p2)) → c13(+'(p2, +(p2, p5)), +'(p5, p2))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, p5)) → c13(+'(p2, p10), +'(p5, p5))
+'(p5, +(p2, p2)) → c13(+'(p2, +(p2, p5)), +'(p5, p2))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, p5)) → c13(+'(p2, p10), +'(p5, p5))
+'(p5, +(p2, p2)) → c13(+'(p2, +(p2, p5)), +'(p5, p2))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c14, c16, c18, c20, c9, c9, c11, c11, c13, c13

(17) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing nodes:

+'(p5, +(p2, p5)) → c13(+'(p2, p10), +'(p5, p5))
+'(p5, +(p2, p2)) → c13(+'(p2, +(p2, p5)), +'(p5, p2))

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c14, c16, c18, c20, c9, c9, c11, c11, c13, c13

(19) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace +'(p10, +(p1, z0)) → c16(+'(p1, +(p10, z0)), +'(p10, z0)) by

+'(p10, +(p1, p2)) → c16(+'(p1, +(p2, p10)), +'(p10, p2))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, p5)) → c16(+'(p1, +(p5, p10)), +'(p10, p5))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, p2)) → c16(+'(p1, +(p2, p10)), +'(p10, p2))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, p5)) → c16(+'(p1, +(p5, p10)), +'(p10, p5))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, p2)) → c16(+'(p1, +(p2, p10)), +'(p10, p2))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, p5)) → c16(+'(p1, +(p5, p10)), +'(p10, p5))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c14, c18, c20, c9, c9, c11, c11, c13, c13, c16, c16

(21) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing nodes:

+'(p10, +(p1, p5)) → c16(+'(p1, +(p5, p10)), +'(p10, p5))
+'(p10, +(p1, p2)) → c16(+'(p1, +(p2, p10)), +'(p10, p2))

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c14, c18, c20, c9, c9, c11, c11, c13, c13, c16, c16

(23) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace +'(p10, +(p2, z0)) → c18(+'(p2, +(p10, z0)), +'(p10, z0)) by

+'(p10, +(p2, p2)) → c18(+'(p2, +(p2, p10)), +'(p10, p2))
+'(p10, +(p2, +(p2, z0))) → c18(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p2, p5)) → c18(+'(p2, +(p5, p10)), +'(p10, p5))
+'(p10, +(p2, +(p5, z0))) → c18(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p2, x0)) → c18(+'(p10, x0))

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
+'(p10, +(p2, p2)) → c18(+'(p2, +(p2, p10)), +'(p10, p2))
+'(p10, +(p2, +(p2, z0))) → c18(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p2, p5)) → c18(+'(p2, +(p5, p10)), +'(p10, p5))
+'(p10, +(p2, +(p5, z0))) → c18(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p2, x0)) → c18(+'(p10, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
+'(p10, +(p2, p2)) → c18(+'(p2, +(p2, p10)), +'(p10, p2))
+'(p10, +(p2, +(p2, z0))) → c18(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p2, p5)) → c18(+'(p2, +(p5, p10)), +'(p10, p5))
+'(p10, +(p2, +(p5, z0))) → c18(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p2, x0)) → c18(+'(p10, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c14, c20, c9, c9, c11, c11, c13, c13, c16, c16, c18, c18

(25) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing nodes:

+'(p10, +(p2, p2)) → c18(+'(p2, +(p2, p10)), +'(p10, p2))
+'(p10, +(p2, p5)) → c18(+'(p2, +(p5, p10)), +'(p10, p5))

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
+'(p10, +(p2, +(p2, z0))) → c18(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p2, +(p5, z0))) → c18(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p2, x0)) → c18(+'(p10, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
+'(p10, +(p2, +(p2, z0))) → c18(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p2, +(p5, z0))) → c18(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p2, x0)) → c18(+'(p10, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c14, c20, c9, c9, c11, c11, c13, c13, c16, c16, c18, c18

(27) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace +'(p10, +(p5, z0)) → c20(+'(p5, +(p10, z0)), +'(p10, z0)) by

+'(p10, +(p5, x0)) → c20(+'(p10, x0))

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
+'(p10, +(p2, +(p2, z0))) → c18(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p2, +(p5, z0))) → c18(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p2, x0)) → c18(+'(p10, x0))
+'(p10, +(p5, x0)) → c20(+'(p10, x0))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
+'(p10, +(p2, +(p2, z0))) → c18(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p2, +(p5, z0))) → c18(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p2, x0)) → c18(+'(p10, x0))
+'(p10, +(p5, x0)) → c20(+'(p10, x0))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c14, c9, c9, c11, c11, c13, c13, c16, c16, c18, c18, c20

(29) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace +'(p2, +(p2, +(p2, +(p5, z0)))) → c9(+'(p1, +(p10, z0)), +'(p5, +(p5, z0))) by

+'(p2, +(p2, +(p2, +(p5, x0)))) → c9(+'(p5, +(p5, x0)))

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

+(p1, p1) → p2
+(p1, +(p2, p2)) → p5
+(p5, p5) → p10
+(+(z0, z1), z2) → +(z0, +(z1, z2))
+(p1, +(p1, z0)) → +(p2, z0)
+(p1, +(p2, +(p2, z0))) → +(p5, z0)
+(p2, p1) → +(p1, p2)
+(p2, +(p1, z0)) → +(p1, +(p2, z0))
+(p2, +(p2, p2)) → +(p1, p5)
+(p2, +(p2, +(p2, z0))) → +(p1, +(p5, z0))
+(p5, p1) → +(p1, p5)
+(p5, +(p1, z0)) → +(p1, +(p5, z0))
+(p5, p2) → +(p2, p5)
+(p5, +(p2, z0)) → +(p2, +(p5, z0))
+(p5, +(p5, z0)) → +(p10, z0)
+(p10, p1) → +(p1, p10)
+(p10, +(p1, z0)) → +(p1, +(p10, z0))
+(p10, p2) → +(p2, p10)
+(p10, +(p2, z0)) → +(p2, +(p10, z0))
+(p10, p5) → +(p5, p10)
+(p10, +(p5, z0)) → +(p5, +(p10, z0))
Tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
+'(p10, +(p2, +(p2, z0))) → c18(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p2, +(p5, z0))) → c18(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p2, x0)) → c18(+'(p10, x0))
+'(p10, +(p5, x0)) → c20(+'(p10, x0))
+'(p2, +(p2, +(p2, +(p5, x0)))) → c9(+'(p5, +(p5, x0)))
S tuples:

+'(p1, +(p1, z0)) → c4(+'(p2, z0))
+'(p1, +(p2, +(p2, z0))) → c5(+'(p5, z0))
+'(p2, +(p1, z0)) → c7(+'(p1, +(p2, z0)), +'(p2, z0))
+'(p5, +(p5, z0)) → c14(+'(p10, z0))
+'(p2, +(p2, +(p2, x0))) → c9(+'(p5, x0))
+'(p5, +(p1, +(p2, z0))) → c11(+'(p1, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p1, +(p5, z0))) → c11(+'(p1, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p1, x0)) → c11(+'(p5, x0))
+'(p5, +(p2, +(p2, z0))) → c13(+'(p2, +(p2, +(p5, z0))), +'(p5, +(p2, z0)))
+'(p5, +(p2, +(p5, z0))) → c13(+'(p2, +(p10, z0)), +'(p5, +(p5, z0)))
+'(p5, +(p2, x0)) → c13(+'(p5, x0))
+'(p10, +(p1, +(p2, z0))) → c16(+'(p1, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p1, +(p5, z0))) → c16(+'(p1, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p1, x0)) → c16(+'(p10, x0))
+'(p10, +(p2, +(p2, z0))) → c18(+'(p2, +(p2, +(p10, z0))), +'(p10, +(p2, z0)))
+'(p10, +(p2, +(p5, z0))) → c18(+'(p2, +(p5, +(p10, z0))), +'(p10, +(p5, z0)))
+'(p10, +(p2, x0)) → c18(+'(p10, x0))
+'(p10, +(p5, x0)) → c20(+'(p10, x0))
+'(p2, +(p2, +(p2, +(p5, x0)))) → c9(+'(p5, +(p5, x0)))
K tuples:

+'(+(z0, z1), z2) → c3(+'(z0, +(z1, z2)), +'(z1, z2))
Defined Rule Symbols:

+

Defined Pair Symbols:

+'

Compound Symbols:

c3, c4, c5, c7, c14, c9, c11, c11, c13, c13, c16, c16, c18, c18, c20

(31) CpxTrsMatchBoundsTAProof (EQUIVALENT transformation)

A linear upper bound on the runtime complexity of the TRS R could be shown with a Match-Bound[TAB_LEFTLINEAR,TAB_NONLEFTLINEAR] (for contructor-based start-terms) of 1.

The compatible tree automaton used to show the Match-Boundedness (for constructor-based start-terms) is represented by:
final states : [1]
transitions:
p10() → 0
p20() → 0
p50() → 0
p100() → 0
+0(0, 0) → 1
p21() → 1
p101() → 1
p11() → 2
p21() → 3
+1(2, 3) → 1
p51() → 4
+1(2, 4) → 1
p21() → 5
+1(5, 4) → 1
p101() → 6
+1(2, 6) → 1
+1(5, 6) → 1
p51() → 7
+1(7, 6) → 1

(32) BOUNDS(O(1), O(n^1))